diff -Naur a/data/m_ps.fnt b/data/m_ps.fnt
--- a/data/m_ps.fnt	1969-12-31 19:00:00.000000000 -0500
+++ b/data/m_ps.fnt	2017-12-19 22:33:27.691556645 -0500
@@ -0,0 +1,35 @@
+   1 0013 1947 1 5 5 1 4.5.1   0   0   0   1 Times-Roman
+   2 0013 1947 1 7 5 1 4.5.1   0   0   0   1 Times-Bold
+   3 0013 1947 2 5 5 1 4.5.1   0   0   0   1 Times-Italic
+   4 0013 1947 2 7 5 1 4.5.1   0   0   0   1 Times-BoldItalic
+   5 0013 1921 1 5 5 1 5.1.2   0   0   0   1 Helvetica
+   6 0013 1921 1 7 5 1 5.1.2   0   0   0   1 Helvetica-Bold
+   7 0013 1921 2 5 5 1 5.1.2   0   0   0   1 Helvetica-Oblique
+   8 0013 1921 2 7 5 1 5.1.2   0   0   0   1 Helvetica-BoldOblique
+   9 0013 1970 1 5 5 1 4.6.5   0   0   0   1 Courier
+  10 0013 1970 1 7 5 1 4.6.5   0   0   0   1 Courier-Bold
+  11 0013 1970 2 5 5 1 4.6.5   0   0   0   1 Courier-Oblique
+  12 0013 1970 2 7 5 1 4.6.5   0   0   0   1 Courier-BoldOblique
+  13 0013 1650 1 5 5 1 8.2.0   0   0   0  91 Symbol
+  14 0013 1087 1 5 5 1 4.4.2   0   0   0   1 AvantGarde-Book
+  15 0013 1087 2 5 5 1 4.4.2   0   0   0   1 AvantGarde-BookOblique
+  16 0013 1087 1 6 5 1 4.4.2   0   0   0   1 AvantGarde-Demi
+  17 0013 1087 2 6 5 1 4.4.2   0   0   0   1 AvantGarde-DemiOblique
+  18 0013 1097 1 6 5 1 4.5.2   0   0   0   1 Bookman-Demi
+  19 0013 1097 2 6 5 1 4.5.2   0   0   0   1 Bookman-DemiItalic
+  20 0013 1097 1 4 5 1 4.5.2   0   0   0   1 Bookman-Light
+  21 0013 1097 2 4 5 1 4.5.2   0   0   0   1 Bookman-LightItalic
+  22 0013 1921 1 5 3 1 5.1.2   0   0   0   1 Helvetica-Narrow
+  23 0013 1921 2 7 3 1 5.1.2   0   0   0   1 Helvetica-Narrow-Bold
+  24 0013 1921 1 7 3 1 5.1.2   0   0   0   1 Helvetica-Narrow-BoldOblique
+  25 0013 1921 2 5 3 1 5.1.2   0   0   0   1 Helvetica-Narrow-Oblique
+  26 0013 1106 1 5 5 1 4.1.3   0   0   0   1 NewCenturySchlbk-Roman
+  27 0013 1106 2 5 5 1 4.1.3   0   0   0   1 NewCenturySchlbk-Italic
+  28 0013 1106 1 7 5 1 4.1.3   0   0   0   1 NewCenturySchlbk-Bold
+  29 0013 1106 2 7 5 1 4.1.3   0   0   0   1 NewCenturySchlbk-BoldItalic
+  30 0013 1276 1 5 5 1 4.4.2   0   0   0   1 Palatino-Roman
+  31 0013 1276 2 5 5 1 4.4.2   0   0   0   1 Palatino-Italic
+  32 0013 1276 1 7 5 1 4.4.2   0   0   0   1 Palatino-Bold
+  33 0013 1276 2 7 5 1 4.4.2   0   0   0   1 Palatino-BoldItalic
+  34 0013 1810 1 5 5 1 8.0.0   0   0   0  92 ZapfDingbats
+  35 0013 1193 2 5 5 1 6.1.1   0   0   0   1 ZapfChancery-MediumItalic
diff -Naur a/include/mach.h b/include/mach.h
--- a/include/mach.h	1969-12-31 19:00:00.000000000 -0500
+++ b/include/mach.h	2017-12-19 22:34:41.145556770 -0500
@@ -0,0 +1,33 @@
+/*  RAL-CGM Interpreter header file
+ *
+ *  Linux specific setting for CGM interpreter
+ */
+
+/*  Define Machine  */
+
+#define LINUX
+
+/*  Define Graphics system(s)  */
+
+#define POSTSCRIPT
+#define BEZIER
+#define HERSHEY
+#define XW
+
+#define DATADIR "../data/"
+
+#define NAMELGTH  32
+#define EXTLGTH    8
+
+#define Posint64 unsigned long long
+#define MALLOCH
+#include <stdlib.h>
+
+#ifdef CGMOXW_C      /* X-Window specific settings  */
+
+#include <X11/cursorfont.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xatom.h>
+
+#endif
diff -Naur a/src/Makefile b/src/Makefile
--- a/src/Makefile	1969-12-31 19:00:00.000000000 -0500
+++ b/src/Makefile	2017-12-19 22:35:58.377556901 -0500
@@ -0,0 +1,333 @@
+#  RAL-CGM Interpreter source Makefile: @(#) Makebase  version 3.4
+#
+#  Name of executable module (usually ../bin/ralcgm)
+#
+MODULE = ../bin/ralcgm
+#
+#  Name of callable library (Optional) (usually ../bin/libcgm.a)
+#
+LIB = ../bin/libcgm.a
+#
+#  Include file directory (usually ../include)
+#
+INCLUDE = ../include
+#
+#  Data files directory (usually ../data)
+#
+DATADIR = ../data
+#
+#  Main Interpreter object file (usually cgmmain.o)
+#
+MAIN = cgmmain.o
+#
+#
+#
+MAKEFILE = Makefile
+#
+#  CGM input encoding - Object files
+#                       Include here files for each encoding that
+#                       may need to be processed; usually
+#                       cgmichar.o cgmitext.o cgmibin.o
+#
+INPUT = cgmichar.o cgmitext.o cgmibin.o
+#
+#  CGM output encoding - Object files
+#                        Include here files for each encoding that
+#                        may be generated; usually
+#                        cgmochar.o cgmotext.o cgmobin.o
+#
+OUTPUT = cgmochar.o cgmotext.o cgmobin.o
+#
+#  User callable Library (comment out if not required)
+#
+CGMLIB = cgmlib.o
+#
+#  Optional Drivers
+#
+#     IGL - Iris Graphics Library
+#     PS  - PostScript
+#     XW  - X-Windows
+#     VID - Topaz Library
+#
+IGL = cgmoigl.o
+PS = cgmops.o
+XW = cgmoxw.o
+VID = cgmotpz.o
+TEK = cgmotek.o
+HPGL = cgmohpgl.o
+#
+#  List of driver files to be used in generating the $(MODULE).
+#
+#  The possible candidates are:
+#
+#     $(OUTPUT)       list of CGM output encodings defined above
+#     $(IGL)          Iris graphics library
+#     $(XW)           X-Windows
+#     $(PS)           PostScript
+#     $(HPGL)         HPGL
+#     $(TEK)          Tektronix 4200
+#     $(VID)          Video system
+#
+DRIVERS =  $(PS) $(XW) $(HPGL) $(TEK)
+#
+#  Input utilities Object files
+#                These provides random access input and convenient
+#                handling of input attributes
+#
+ERRUTILS = cgmerr.o
+ERRINCLUDES = $(INCLUDE)/cgmerr.h
+
+FILEUTILS = cgmfile.o
+FILEINCLUDES = $(INCLUDE)/cgmfile.h
+
+GENUTILS = $(FILEUTILS) $(ERRUTILS)
+GENINCS  = $(FILEINCLUDES) \
+	   $(ERRINCLUDES)
+
+RANUTILS = cgmrand.o cgmprof.o
+INPUTILS = cgminput.o
+#
+#  Output utility Object files (only needed with output drivers)
+#                 These provide emulation of GDPs, filled areas
+#                 and other graphical operations. Not needed by all drivers
+#                 currently cgmgdp.o is used by XW, IGL & VID
+#                           cgmfill.o & cgmgraph.o are used by IGL only
+#
+ATTUTILS = cgmatt.o
+GDPUTILS = cgmgdp.o
+FILUTILS = cgmpoly.o cgmtrap.o cgmfill.o cgmgraph.o
+COLRUTILS = cgmcolr.o
+CELLUTILS = cgmcell.o
+PTSUTILS = cgmpts.o
+#
+OUTUTILS = $(ATTUTILS) $(GDPUTILS) $(FILUTILS) $(COLRUTILS) $(CELLUTILS) $(PTSUTILS)
+#
+#  Text utility Object files
+#                 These provide software emulation of text and
+#                 generally useful text facilities.
+#
+#                 cgmtext.o  - general text utility - PS & XW
+#                 cgmfont.o  - general font utility - PS & XW
+#                 cgmbez.o   - Bezier text - if wanted
+#                 cgmher.o   - Hershey text - if wanted
+#
+FNTUTILS = cgmfont.o
+FNTINCLUDES = $(INCLUDE)/cgmfont.h
+TEXTUTILS = cgmtext.o
+TEXTINCLUDES = $(INCLUDE)/cgmtext.h
+#
+BEZIER = genbez
+BEZUTILS = cgmbez.o
+BEZLINK = $(BEZIER).o
+BEZDATA = $(DATADIR)/*.bfs
+BEZINCLUDES = $(INCLUDE)/cgmbez.h
+#
+HERSHEY = genher
+HERUTILS = cgmher.o
+HERLINK = $(HERSHEY).o
+HERDATA = $(DATADIR)/*.hfs
+HERINCLUDES = $(INCLUDE)/cgmher.h
+#
+#    TXTSYS settings, supported text systems are:
+#
+#             $(HERSHEY)
+#             $(BEZIER)
+#
+TXTSYS = $(BEZIER) $(HERSHEY)
+#
+#    TXTUTILS settings, supported text utilities are:
+#
+#             $(HERUTILS)
+#             $(BEZUTILS)
+#   List of utility modules required;
+#
+TXTUTILS =  $(BEZUTILS) $(HERUTILS)
+#
+#
+CGMUTILS = $(RANUTILS)\
+           $(INPUTILS)\
+           $(GENUTILS)\
+           $(OUTUTILS)\
+           $(TXTUTILS)\
+           $(TEXTUTILS)\
+           $(FNTUTILS)
+#
+#  Set up names for the modules that make up `ralcgm' and `cgmlib'.
+#
+RALCGM = $(INPUT)\
+         $(OUTPUT)\
+         $(DRIVERS)\
+         $(CGMUTILS)
+
+LIBCGM = $(CGMLIB)\
+         $(OUTPUT)\
+         $(DRIVERS)\
+         $(INPUTILS)\
+         $(GENUTILS)\
+         $(OUTUTILS)\
+         $(TXTUTILS)\
+         $(TEXTUTILS)\
+         $(FNTUTILS)
+#
+#  Local flags for Compiler (system dependent)
+#
+#      Examples:   (Iris 3130)         -Zf           -g      -p
+#                  (Iris 4D)           -O
+#                  (GNU C on Topaz)    -O -m68881    -g
+#                  (Sun 3)             -O -fswitch
+#                  (Sun 4)             -O
+#                  (Unicos)            -O            -g
+#
+CFLAGS = -c  -DPOSTSCRIPT="" -DXW="" -DHPGL="" -DTEK4200="" -DBEZIER="" -DHERSHEY=""
+#
+#  Local flags for Linker (system dependent)
+#  For X-windows, add some extra libraries (comment out otherwise)
+#
+#      Examples:   (Iris 3130)         -Zg -lm
+#                  (Iris 4D)           -lm -lgl_s -lX11_s -lc_s
+#                  (Topaz)             -lE -lmalloc -lm
+#                  (Sun 3 or 4)        -lm -lX11 -lc
+#                  (Unicos)            -lm -lX11 -lnet -lc
+#                  (Unicos - scc)      -lm -lX11 -lnet -lsc
+#
+LFLAGS = -lm -lX11
+#
+#  Common include files
+#
+GENINCLUDES = $(INCLUDE)/cgmmach.h $(INCLUDE)/mach.h \
+	$(INCLUDE)/cgmtypes.h \
+	$(INCLUDE)/cgmstruc.h \
+       	$(INCLUDE)/cgmelem.h \
+       	$(INCLUDE)/cgmpar.h \
+       	$(INCLUDE)/cgmtran.h \
+       	$(INCLUDE)/cgmatt.h
+#
+#  List of includes for the text system; must match the text utility
+#  .o files given above.
+#
+INCLUDES = $(GENINCLUDES) $(TXTINCLUDES) $(FNTINCLUDES) \
+           $(BEZINCLUDES) $(HERINCLUDES) $(GENINCS)
+#
+#  Define various commands in just one place.
+#
+#         for Unicos   LINK = segldr
+#                      AR   = bld rv
+#         all others   LINK = cc $(LFLAGS)
+#                      AR = ar rv
+#
+COMPILE = cc
+LINK = cc
+AR = ar crs
+#
+#   Main dependencies (should not need altering)
+
+ralcgm:	$(MODULE) $(TXTSYS)
+	@echo "$(MODULE) is now made"
+
+cgmlib:	$(LIB) $(TXTSYS)
+	@echo "$(LIB) is now made"
+
+iutils: $(INPUTILS) $(GENUTILS)
+
+outils: $(OUTUTILS)
+
+tutils: $(TXTUTILS)
+
+clean:
+	rm -f *.o core a.out $(TXTSYS)
+
+$(MODULE):	$(MAIN) $(RALCGM)
+	$(LINK) $(MAIN) $(RALCGM) $(LFLAGS) -o $(MODULE)
+	chmod 755 $(MODULE)
+
+$(LIB):	$(LIBCGM)
+	$(AR) $(LIB) $(LIBCGM)
+	chmod 644 $(LIB)
+
+#  include file dependencies
+
+$(MAIN):	$(INCLUDE)/cgminit.h $(GENINCLUDES) $(MAKEFILE)
+
+$(CGMLIB):	$(INCLUDE)/cgmlib.h $(INCLUDE)/cgminit.h $(INCLUDE)/cgmin.h \
+                $(GENINCLUDES) $(MAKEFILE)
+
+$(INPUT) $(INPUTILS) $(RANUTILS):	$(INCLUDE)/cgmin.h $(GENINCLUDES) $(MAKEFILE)
+
+$(GENUTILS):	$(GENINCLUDES)
+
+$(OUTPUT) $(OUTUTILS):	$(GENINCLUDES) $(MAKEFILE)
+
+$(DRIVERS):	$(INCLUDE)/cgmout.h \
+                $(INCLUDES) \
+                $(MAKEFILE)
+
+$(FNTUTILS):	$(FNTINCLUDES) \
+		$(INCLUDE)/cgmufont.h \
+                $(TXTINCLUDES) \
+                $(MAKEFILE)
+
+$(TEXTUTILS):	$(TEXTINCLUDES) \
+		$(FNTINCLUDES) \
+                $(MAKEFILE)
+
+$(ERRUTILS):	$(ERRINCLUDES) \
+		$(GENINCLUDES) \
+		$(MAKEFILE)
+
+$(BEZUTILS):	$(BEZINCLUDES) \
+		$(INCLUDE)/cgmubez.h \
+		$(GENINCLUDES) \
+		$(MAKEFILE)
+
+$(BEZIER):	$(BEZLINK) \
+                $(GENINCS) \
+		$(INCLUDE)/cgmubez.h \
+		$(BEZDATA) \
+		$(MAKEFILE)
+	$(LINK) $(BEZLINK) $(GENUTILS) $(LFLAGS) -o $(BEZIER)
+	./$(BEZIER)
+	chmod 644 $(DATADIR)/*.bfb $(DATADIR)/fontdir.bez
+
+$(HERUTILS):	$(HERINCLUDES) \
+		$(INCLUDE)/cgmuher.h \
+		$(GENINCLUDES) \
+		$(MAKEFILE)
+
+$(HERSHEY):	$(HERLINK) \
+		$(GENINCS) \
+		$(INCLUDE)/cgmuher.h \
+		$(HERDATA) \
+		$(MAKEFILE)
+	$(LINK) $(HERLINK) $(GENUTILS) $(LFLAGS) -o $(HERSHEY)
+	./$(HERSHEY)
+	chmod 644 $(DATADIR)/*.hfb $(DATADIR)/fontdir.her
+
+$(IGL):	$(INCLUDE)/cgmigl.h \
+        $(INCLUDE)/cgmgdp.h \
+        $(INCLUDE)/cgmfill.h \
+        $(INCLUDE)/cgmgraph.h \
+	$(INCLUDE)/cgmpoly.h \
+        $(INCLUDE)/cgmtrap.h
+
+$(PS):	$(INCLUDE)/cgmps.h \
+        $(INCLUDE)/cgmgdp.h \
+	$(INCLUDE)/cgmpoly.h \
+        $(INCLUDE)/cgmtrap.h
+
+$(XW):	$(INCLUDE)/cgmxw.h \
+	$(INCLUDE)/cgmgdp.h
+
+$(HPGL):	$(INCLUDE)/cgmhpgl.h \
+	$(INCLUDE)/cgmgdp.h \
+	$(INCLUDE)/cgmcolr.h
+
+$(TEK):	$(INCLUDE)/cgmtek.h \
+        $(INCLUDE)/cgmgdp.h \
+        $(INCLUDE)/cgmcolr.h \
+        $(INCLUDE)/cgmcell.h \
+        $(INCLUDE)/cgmpts.h
+
+.c.o:
+	$(COMPILE) $(CFLAGS) -I$(INCLUDE) $<
+
+.SUFFIXES: .c .o
